/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Clases;

import java.util.ArrayList;
import java.util.List;
import org.hibernate.SQLQuery;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;

/**
 *
 * @author Johannita
 */
public class Persona {
    private int idpersona;
    private String nombre;
    private String apellido;
    private String cargo;
    
    public void Persona(){}
    
    
    public String getApellido() {
        return apellido;
    }

    public String getCargo() {
        return cargo;
    }

    public int getIdpersona() {
        return idpersona;
    }

    public String getNombre() {
        return nombre;
    }

    public void setApellido(String apellido) {
        this.apellido = apellido;
    }

    public void setCargo(String cargo) {
        this.cargo = cargo;
    }

    public void setIdpersona(int idpersona) {
        this.idpersona = idpersona;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }
    
    public void insertar(String nombre,String apellido,String cargo){
        this.setNombre(nombre);
        this.setApellido(apellido);
        this.setCargo(cargo);
    }
    public Persona ObtenerPersonaLogin(String user,String password){

                SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
                Session session = sessionFactory.openSession();
                Transaction tx = session.beginTransaction();
                SQLQuery q = session.createSQLQuery("select Persona.* from Cuenta ,Persona  where Cuenta.user='"+user+"' and Cuenta.password='"+password+"' and Persona.idpersona=Cuenta.idpersona");
                q.addEntity(Persona.class);
                List<Persona> persona = q.list();

                for(int i = 0 ; i < persona.size(); i++) {
                    return persona.get(i);

                }
                return this;
    }

    public String obtenerTareaUser(String fecha) throws Exception{
        String xml="<tareas>";
                SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
                Session session = sessionFactory.openSession();
                Transaction tx = session.beginTransaction();
                SQLQuery q = session.createSQLQuery("SELECT Tarea.* FROM Persona, Tarea, Responsable_tarea WHERE Responsable_tarea.idtarea = Tarea.idtarea AND Responsable_tarea.idpersona = '"+ this.getIdpersona() +"' AND Tarea.fecha = '"+fecha+"' AND Tarea.estado = 'pendiente'");
                q.addEntity(Tarea.class);
                List<Tarea> tareas = q.list();
                System.out.println("sali del query");
                for(int i = 0 ; i < tareas.size(); i++) {
                    xml=xml+"<tarea><id>"+tareas.get(i).getIdtarea()+"</id>";
                    xml=xml+"<idlugar>"+tareas.get(i).getIdlugar()+"</idlugar>";
                    xml=xml+"<nombre>"+tareas.get(i).getNombre()+"</nombre>";
                    xml=xml+"<descripcion>"+tareas.get(i).getDescripcion()+"</descripcion>";
                    xml=xml+"<tipo>"+tareas.get(i).getTipo()+"</tipo>";
                    xml=xml+"<estado>"+tareas.get(i).getEstado()+"</estado>";
                    xml=xml+"<importancia>"+tareas.get(i).getImportancia()+"</importancia>";
                    xml=xml+"<fecha>"+tareas.get(i).getFecha()+"</fecha></tarea>";
                                                            
                }
                System.out.println(xml);
                return xml=xml+"</tareas>";

    }

    public String obtenerTareas() throws Exception{
        String xml="<tareas>";

                SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
                Session session = sessionFactory.openSession();
                Transaction tx = session.beginTransaction();
                SQLQuery q = session.createSQLQuery("SELECT Tarea.* FROM Tarea, Responsable_tarea WHERE Responsable_tarea.idtarea = Tarea.idtarea AND Responsable_tarea.idpersona = '"+this.getIdpersona()+"' and Tarea.estado='pendiente'");
                q.addEntity(Tarea.class);
                List<Tarea> tareas = q.list();
                System.out.println("sali del query");
                for(int i = 0 ; i < tareas.size(); i++) {
                    xml=xml+"<tarea><id>"+tareas.get(i).getIdtarea()+"</id>";
                    xml=xml+"<idlugar>"+tareas.get(i).getIdlugar()+"</idlugar>";
                    xml=xml+"<nombre>"+tareas.get(i).getNombre()+"</nombre>";
                    xml=xml+"<descripcion>"+tareas.get(i).getDescripcion()+"</descripcion>";
                    xml=xml+"<tipo>"+tareas.get(i).getTipo()+"</tipo>";
                    xml=xml+"<estado>"+tareas.get(i).getEstado()+"</estado>";
                    xml=xml+"<importancia>"+tareas.get(i).getImportancia()+"</importancia>";
                    xml=xml+"<fecha>"+tareas.get(i).getFecha()+"</fecha></tarea>";

                }
                System.out.println(xml);
                return xml=xml+"</tareas>";

    }
}
